/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						 adv_object_map_info.h

	$NoKeywords: $

 ************************************************************************/


#ifndef _HDR_ADV_OBJECT_MAP_INFO
#define _HDR_ADV_OBJECT_MAP_INFO

class	t_adv_dwelling;
class	t_adv_garrison;
struct	t_adv_map_point;
class	t_adventure_ai;
class	t_adventure_frame;
class	t_adventure_map;
class	t_adventure_object;
class	t_army;
class	t_creature_array;
class	t_ownable_garrisonable_adv_object;
class	t_player;
class	t_sanctuary;
class	t_town;
enum	t_town_image_level;

class t_adv_object_map_info
{
public:
	virtual t_adventure_ai const*				get_ai() const;
	virtual	t_army*								get_army();
	virtual t_army const*						get_army() const;
	virtual t_adventure_frame*					get_adventure_frame() const;
	virtual t_adventure_object*					get_adventure_object();
	virtual t_town_image_level					get_castle_level() const;
	virtual t_creature_array*					get_creature_array();
	virtual t_adventure_map*					get_map() const;
	virtual t_ownable_garrisonable_adv_object*	get_ownable_garrison();
	t_player*									get_owner() const;
	virtual int									get_owner_number() const;
	virtual t_adv_map_point						get_position() const;
	virtual t_town*								get_town();
	virtual	bool								get_virtual_position(t_adv_map_point& position) const;
	virtual bool								is_actor() const;
	virtual bool								is_boat() const;
	bool										is_human() const;

protected:
	~t_adv_object_map_info() {}
};

#endif